package cn.edu.jxau.util;

abstract public class Queue<T> implements Iterable<T> {
    
    /**
     * 队列元素个数
     * @return
     */
    public abstract int size();
    
    /**
     * 队列是否为空
     * @return
     */
    public boolean isEmpty() {
        return size()==0;
    }
    
    /**
     * 入队列
     * @param item
     */
    public abstract void enqueue(T item);
    
    /**
     * 出队列
     * @return
     */
    public abstract T dequeue();
    
    /**
     * 查看队列头结点
     * @return
     */
    public abstract T look();
    
    public abstract String toString();
}
